﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace DiscoveryLogic.Analytics.UI.Common.Wizard
{
    public class WizardPageNavigationEventArgs:EventArgs
    {
        private Wizard _Owner;
        /// <summary></summary>
        public Wizard Owner
        {
            get
            {
                return this._Owner;
            }
            set
            {
                this._Owner = value;
            }
        }

        private bool _Cancel;
        /// <summary></summary>
        public bool Cancel
        {
            get
            {
                return this._Cancel;
            }
            set
            {
                this._Cancel = value;
            }
        }

        public WizardPageNavigationEventArgs(Wizard owner, bool cancel):base()
        {
            this._Owner = owner;
            this._Cancel = cancel;
        }
    }

    public delegate void OnBeforeMoveToNext(WizardPageNavigationEventArgs e);

    public delegate void OnBeforeDisplay();

    public interface IWizardPageBase
    {
        event OnBeforeMoveToNext BeforeMoveToNext;
        event OnBeforeDisplay BeforeDisplay;

        IWizardPageBase PrevPage { get; set; }
        IWizardPageBase NextPage { get; set; }
        string Title { get; set; }
        string Description { get; set; }

        void Init(Wizard owner);
        bool MoveNextPage();
    }
}
